package com.example.demos.service;

import com.example.demos.dto.*;
import com.example.demos.entity.Goods;
import com.example.demos.entity.Store;
import com.example.demos.util.PageBean;
import com.example.demos.vo.ChangeQueryListVO;
import com.example.demos.vo.StoreAlertVO;
import com.example.demos.vo.StoreManagerVo;

import javax.servlet.http.HttpSession;
import java.math.BigInteger;
import java.util.List;

public interface StoreService {

    int add(Store store);

    PageBean<List<Store>> select(Integer page, Integer rows, String name, BigInteger empUuid);

    Store selectone(Integer id);

    int update(Store store);

    int delete(Integer id);

    PageBean<List<Store>> getStoreList();

    PageBean<List<Goods>> getGoodsList();

    PageBean<List<StoreDetailDTO>> getStoreDetailList(StoreDetailQueryDTO storeDetailQueryDTO);

    PageBean<List<ChangeRecordDTO>> getStoreChangeRecords(ChangeListQueryDTO changeListQueryDTO);

    boolean addInventory(InventoryAddParamsDTO inventoryAddParamsDTO, HttpSession httpSession);

    PageBean<List<ChangeQueryListVO>> getInventoryListByPage(InventoryQueryDTO inventoryQueryDTO);

    ChangeQueryListVO getInventoryById(Integer id);

    int editInventoryById(InventoryEditParamsDTO editParamsDTO, HttpSession httpSession);

    int deleteInventoryById(Integer id);

    PageBean<List<StoreAlertVO>> getStoreAlertInfo(Integer page, Integer rows);

    boolean sendMsg(String tel);

    List<StoreManagerVo> getStoreManager();
}
